package com.zhouxiaoge.反射;

import java.lang.reflect.Method;

/***************************************************
 *                    _ooOoo_                    *
 *                   o8888888o                   * 佛
 *                  88'' . ''88                  * 祖
 *                  ( | -_- | )                  * 保
 *                   0\  =  /0                   * 佑
 *                ____/'---'\____                *
 *              .'  \\|     |//  '.              * 永
 *             /  \\|||  :  |||//  \             * 无
 *            /  _||||| -:- |||||-  \            * BUG
 *            |   | \\\  -  /// |   |            *
 *            | \_|  ''\---/''  |   |            * 阿
 *            \  .-\__  `-`  ___/-. /            * 弥
 *          ___`. .'  /--.--\  `. . __           * 陀
 *       ."" '<  ‘.___\_<|>_/___.’  >'"".      * 佛
 *      | | :  ` - `.;`\ _ /`;.`/ - ` : | |      *
 *      \  \ `-.   \_ __\ /__ _/   .-` /  /      *
 * ======`-.____`-.___\_____/___.-`____.-'=======*
 * @author 周明阳 mail:gqzmy@outlook.com 时间:2018-01-03 10:35
 *
 */


public class HashSetTest {
    public static void main(String[] args) throws Exception {
        Class<?> aClass = Class.forName("java.util.HashSet");
        Object o = aClass.newInstance();
        Method[] methods = aClass.getMethods();
        for (Method method : methods) {
            System.out.println(method);
        }
        Method add = aClass.getMethod("add", Object.class);
        add.invoke(o, "zhouxiagoe");
        add.invoke(o, "Hello");
        add.invoke(o, "Java");
        System.out.println(o);
        Method size = aClass.getMethod("size");
        Object invoke = size.invoke(o);
        System.out.println(invoke);

    }
}
